<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:a4j="http://richfaces.org/a4j"
      xmlns:rich="http://richfaces.org/rich"
      xmlns:sistema="http://sistema.com.br/jsf">

	<ui:composition template="../templates/main.xhtml">

		<ui:define name="keepAl">
			<a4j:keepAlive beanName="usuarioMB"/>
			<a4j:keepAlive beanName="usuarioModalMB"/>
		</ui:define>

		<ui:define name="modalPanel">
			<ui:include src="usuarioModal.xhtml" />
		</ui:define>

		<ui:define name="head">
			
		</ui:define>

		<ui:define name="carregar">
			<h:outputText value="#{usuarioMB.carregar}" />
		</ui:define>

		<ui:define name="onload">
			#{usuarioMB.campoNome.elementById}.focus();
		</ui:define>

		<ui:define name="titulo">
			<h:outputText value="#{usuarioMB.titulo}" />
		</ui:define>

		<ui:define name="corpo">

			<h2 style="margin: 5px;">
				<h:outputText value="#{usuarioMB.titulo}" />
			</h2>

			<fieldset class="lm" style="margin: 0;">
				<h:panelGrid columns="5">
		        	<h:outputText value="#{usuarioMB.campoNome.nameDisplay}" />
		        	<h:inputText 
			        	value=      "#{usuarioMB.registroPesquisa.nome}" 
			        	id=         "#{usuarioMB.campoNome.id}"
			        	size=       "#{usuarioMB.campoNome.sizeMax}" 
			        	maxlength=  "#{usuarioMB.campoNome.maxlength}" 
			        	onkeypress= "#{usuarioMB.campoNome.onkeypress}" />

					<h:outputText value="#{usuarioMB.campoLogin.nameDisplay}" />
		        	<h:inputText 
			        	value=      "#{usuarioMB.registroPesquisa.login}" 
			        	id=         "#{usuarioMB.campoLogin.id}"
			        	size=       "#{usuarioMB.campoLogin.sizeMax}" 
			        	maxlength=  "#{usuarioMB.campoLogin.maxlength}" 
			        	onkeypress= "#{usuarioMB.campoLogin.onkeypress}" />
		        	<a4j:commandButton id="#{usuarioMB.submit}" value="#{usuarioMB.submit}" action="#{usuarioMB.pesquisar}" styleClass="w90 pointer" reRender="panelPaginacao, tabelaDados" />
				</h:panelGrid>
			</fieldset>

			<br />

			<rich:dataTable rows="#{usuarioMB.quantidadeLinhasPaginacao}" width="100%" value="#{usuarioMB.paginador}" var="registro" id="tabelaDados" styleClass="tabelaDados">	
				<f:facet name="header">  
                          <rich:columnGroup>
                           <rich:column width="15px">
                           	<h:selectBooleanCheckbox id="selecionarTodos" onclick="selecionarTodos()"/>
                           </rich:column>
                           <rich:column width="15px">
                           </rich:column>
                              <rich:column styleClass="#{usuarioMB.tipoOrdenacaoPaginador.campo == usuarioMB.campoNome.id? (usuarioMB.tipoOrdenacaoPaginador.tipoOrdenacao == 'ASC'? 'as' : 'ds') : '' }">
                                  <h:commandLink value="#{usuarioMB.campoNome.nameDisplay}" action="#">
	                              		<a4j:support event="onclick" reRender="panelPaginacao, tabelaDados" action="#{usuarioMB.ordenarPaginacaoPorColuna}" immediate="true" ajaxSingle="true" disableDefault="true">
	                              			<f:param name="campo" value="#{usuarioMB.campoNome.id}"/>
	                              		</a4j:support>
                              	</h:commandLink>
                              </rich:column>
                              <rich:column styleClass="#{usuarioMB.tipoOrdenacaoPaginador.campo == usuarioMB.campoLogin.id? (usuarioMB.tipoOrdenacaoPaginador.tipoOrdenacao == 'ASC'? 'as' : 'ds') : '' }">
                              	<h:commandLink value="#{usuarioMB.campoLogin.nameDisplay}" action="#">
                              		<a4j:support event="onclick" reRender="panelPaginacao, tabelaDados" action="#{usuarioMB.ordenarPaginacaoPorColuna}" immediate="true" ajaxSingle="true" disableDefault="true">
                              			<f:param name="campo" value="#{usuarioMB.campoLogin.id}"/>
                              		</a4j:support>
                              	</h:commandLink>
                              </rich:column>
                          </rich:columnGroup>
                  	</f:facet>

				<rich:column style="text-align:center" styleClass="naoSelecionado">
					<h:selectBooleanCheckbox value="#{registro.selected}" onclick="selecionarDefault(this)"/>
				</rich:column>
				<rich:column style="text-align:center" styleClass="naoSelecionado">
					<sistema:permissaoAcao acao="U">
						<a4j:commandLink value="" action="#{usuarioModalMB.editar}"  reRender="modalPanel" immediate="true">
							<h:graphicImage value="../../../static/img/edit.png" />
		                   	<f:param name="id" value="#{registro.id}" />
						</a4j:commandLink>
					</sistema:permissaoAcao>
				</rich:column>
				<rich:column styleClass="naoSelecionado">
					<h:outputText value="#{registro.nome}" />
				</rich:column>
				<rich:column styleClass="naoSelecionado">
					<h:outputText value="#{registro.login}" />
				</rich:column>
			</rich:dataTable>

			<br />
			<sistema:permissaoAcao acao="D">
				<a4j:commandButton value="#{usuarioMB.excluir}" action="#{usuarioMB.excluir}" styleClass="w90 pointer" reRender="panelPaginacao, tabelaDados" />
			</sistema:permissaoAcao>

			<rich:spacer width="5px"/>
			<sistema:permissaoAcao acao="C">
				<a4j:commandButton value="#{usuarioMB.novo}" action="#{usuarioModalMB.novo}" styleClass="w90 pointer" reRender="modalPanel" immediate="true" />
			</sistema:permissaoAcao>

			<a4j:outputPanel id="panelPaginacao">
				<rich:datascroller boundaryControls="auto" fastControls="auto" stepControls="hide" for="tabelaDados" pageIndexVar="pageIndex" page="#{usuarioMB.paginaAtual}" style="width:100%;" renderIfSinglePage="false" reRender="panelPaginacao, tabelaDados"/>
				<br/>
				<center>
						<h:outputText id="textoPaginacao" value="#{usuarioMB.legendaPaginador}" rendered="#{usuarioMB.paginador.rowCount gt 0 }"/>
				</center>
			</a4j:outputPanel>
				
			<br/>
			
		</ui:define>

	</ui:composition>

</html>